/*
 * @Author: bug巫师 184179023@.com
 * @Date: 2025-04-03 08:46:59
 * @LastEditors: bug巫师 184179023@.com
 * @LastEditTime: 2025-04-15 19:58:54
 * @FilePath: \ABS.OA\cloudfunctions\mcloud\project\oa\model\log_model.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
/**
 * 系统日志模型
 */

const BaseProjectModel = require('./base_project_model.js');

class LogModel extends BaseProjectModel {

	/**
	 * 构造函数
	 */
	constructor() {
		super();
		this.setModel('oa_log');
	}

	/**
	 * 获取日志列表
	 */
	async getList(where, fields, orderBy, page, size, isTotal = true, oldTotal = 0) {
		orderBy = orderBy || {
			ADD_TIME: 'desc'
		};
		fields = fields || '*';

		let count = 0;
		if (oldTotal && !isNaN(Number(oldTotal))) count = Number(oldTotal);
		else if (isTotal) count = await this.count(where);

		let list = await this.getListByWhere(where, fields, orderBy, page, size, false, count);
		return list;
	}

	/**
	 * 创建索引
	 * @param {Object} indexData 索引配置
	 */
	async createIndex(indexData) {
		try {
			// 在这里，我们只记录索引创建请求，但不执行实际操作
			// 因为微信小程序云开发环境中，索引通常需要在云开发控制台创建
			console.log('请求创建索引', indexData);
			return true;
		} catch (err) {
			console.error('创建索引操作失败', err);
			return false;
		}
	}
}

// 系统日志类型
LogModel.TYPE = {
	SYS: 'sys', // 系统
	USER: 'user',  // 用户
	ADMIN: 'admin', // 管理员,

	CHECK: 'check', //审核
	ADD: 'add', //添加
	EDIT: 'edit', //修改 
	DEL: 'del', //删除 
	LOGIN: 'login', //登录  
}

// 导出实例
module.exports = new LogModel(); 